home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Network Support Library
/
RoseWare - Network Support Library.iso
/
pressgen
/
slokbd.txt
< prev
next >
Wrap
Text File
|
1989-09-16
|
6KB
|
92 lines
When choosing a file server to run Non-Dedicated NetWare, it
is extremely important to choose a machine known to run
Non-Dedicated NetWare. The following is an summary of why some
machines will have problems with Non-Dedicated NetWare.
First, the acronym "ND286" stands for Non-Dedicated 286
NetWare in any release from v2.0a through v2.15. ND286 runs DOS
applications in 'real mode' and file server processes execute in
protected mode. Doing both real and protected modes requires
switching the 80x86 back and forth between the two. Switching from
real to protected is accomplished by executing a special 80286
machine instruction.
However, the 80286 does not have a way of directly switching
from protected to real (the 80386 does, but ND286 is based upon
the 80286 architecture). Usually due to this missing link in the
80286's instruction set, the 80286 is often called a brain-damaged
chip. Anyhow, the only way to do the switch (from protected mode
to real mode) is to reset the 80x86. ND286 relies on specific
characteristics of the IBM AT hardware (i.e. special reset
hardware) and IBM ROM BIOS to perform the reset and correctly
control the switch back to real mode.
Resetting the hardware is messy, and involves some special
keyboard processor and ROM BIOS functionalities. The keyboard
processor is given a command to reset the 80286. The ROM BIOS
needs to be able to recognize at reset time that it isn't doing a
power on reset (Power On Self Test, or POST) and instead transfer
control to the correct real mode address. The way that the ROM
BIOS recognizes that it is doing a protected to real mode switch
is via a special 'shutdown byte'. This byte contains different
values, depending upon which protected to real mode switch
occurred.
The ROM BIOS does not provide any support while the processor
is running software in protected mode, so switching back is
entirely up to the operating system software. Any implementation
differences from the IBM AT can potentially cause ND286 not to
work. (In doing the reset, NetWare uses shutdown request type
0Ah, which should cause the ROM BIOS to do a JMP DWORD PTR
40h:67h.)
The ROM should not reset any hardware (in particular the
interrupt controller) before doing the JMP. The ROM may enable
interrupts during processing; however, enabling interrupts will
not make any difference because NetWare will have masked off all
interrupts at the interrupt control chip prior to requesting the
reset. NetWare restores the interrupt mask when it receives
control back in real mode.
The keyboard processor, which is contained within the
keyboard unit, is used primarily to give keyboard scan codes to
the resident processor. Other functions that the keyboard
processor are used for, on the AT, are after thoughts. One of
those after thoughts is the request to enable/disable address line
20 or reset the 80286.
The keyboard processor in at least one clone cannot handle
the condition when the keyboard controller wants to give the 80286
another keyboard character. Instead of the 80286 requesting the
keyboard character, it requests an enable/disable address 20 or a
reset the 80286 command. It seems that the keyboard processor
microcode can only handle giving the next character once it has a
character, not these auxiliary requests. This problem manifests
itself if the nondedicated file server hangs when a keyboard key
becomes stuck.
The AT keyboard processor is used to manage the address 20
enable/disable line. The address 20 logic controls whether or not
the address 20 bit coming from the 80286 is actually asserted onto
the bus. Disabling address 20 makes the 80286 wrap segments that
exist beyond 1Mb back into low memory (ala 808x emulation). This
wrapping needs to be enabled for the real to protected switch.
The keyboard processor is used to enable/disable line 20 and takes
1ms on the IBM AT. Whereas, on some clones it can take up to
50ms (or more!).
So, there are two areas that prevent ND286 to operate on
clone machines. First, and easiest to correct, is the problem
with a sluggish keyboard processor. To correct this, replace the
existing keyboard with a true blue IBM keyboard. There are some
clone keyboards that also work in place of the IBM keyboard, but,
unlike the IBM keyboard, not everyone of them works in every
situation. The second problem is when the BIOS in the machine is
not entirely emulating an IBM AT BIOS. Usually the culprit here
is that a Phoenix BIOS is being used. Of late, Phoenix seems to
have the problem with their BIOS and ND286 resolved, but only in
the latest revisions of their BIOS. A proven performer is the
BIOS available from AWARD. When a machine fails to run ND286 and
the keyboard change doesn't cure it, replacing the machine's BIOS
with an AWARD BIOS usually reconciles the problem. However, be
aware that there are those machines that are such poor clones that
they will never be able to utilize ND286.
Alas there is one other problem which may stem from a clone
that is not a complete clone. The 80286 must be isolated
correctly from the main memory bus or a DMA being done to or from
a network board may become corrupted during an 80286 reset
sequence.